package es.app.daos;

import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;

import es.app.beans.Usuario;
import es.app.util.GenericDAOHibernate;
import es.app.util.Lista;

public class UsuarioDAOImpl extends GenericDAOHibernate<Usuario, Integer>{
	
	@Override
	public Lista<Usuario> findAll() throws RuntimeException {
		return new Lista<Usuario>(Usuario.class,template.loadAll(Usuario.class));
	}
	@Override
	public Usuario findById(Integer id) throws RuntimeException {
		
		return (Usuario)template.get(Usuario.class, id);
	}	
	
	public Lista<Usuario> findByNombre(final String nombre) throws RuntimeException{
		
		DetachedCriteria c2 = DetachedCriteria.forClass(Usuario.class);
		c2.add(Restrictions.like("idUsuario", "%"+nombre+"%"));
		Lista<Usuario> lista = new Lista<Usuario>(Usuario.class,template.findByCriteria(c2));
		return lista;
	}

}
